package com.shiyi.design.factory.simplefactory;

import com.shiyi.design.factory.simplefactory.animals.Animal;
import com.shiyi.design.factory.simplefactory.animals.Lion;
import com.shiyi.design.factory.simplefactory.animals.Tiger;

/**
 * @Author qiu
 * @Date 2021-01-15 下午 09:12
 *
 * 简单工厂模式：也叫静态工厂模式，根据产品的类型创建出不同的产品实例
 * 违反了OCP原则，没有对修改关闭，我们在扩展一个新的产品的时候，这里还需要进行判断。
 */
public class SimpleFactory {

    private SimpleFactory(){};

    public static Animal createAnimal(String type) {
        if("lion".equals(type)) {
            return new Lion();
        } else if ("tiger".equals(type)) {
            return new Tiger();
        } else {
            return null;
        }
    }
}
